分散式帳本技術(Distributed Ledger Technologies, DLT)目前存在著開放原始碼且持續開發中的平台並不多,可以從以太坊、Hyperledger Fabric 和 R3 Corda 這三個平台開始了解。
關鍵特性
這些平台的共識機制、交易機制都有很大的不同:
- 共識機制:造成最終確認性的差異
- DLT 的交易提交(Commit)後應該是不可以撤銷的
- 交易的順序性相當重要,雙重支付(double-spending)就是以並行交易達成雙花攻擊
- Fabric 與 Corda 使用的共識機制可提供交易最終確認
- 共享資料:不同的資料共享範圍
- DLT 平台的資料採分佈式儲存,網路中的各節點共享資料
- Fabric 與 Corda 提供點對點間的隱私資料共享
以太坊(Ethereum)
- 可審計的加密數字資產
- 支援側鏈(Sidechain),實現跨區塊鏈的數字資產移轉
- 工作量證明(PoW)對交易進行多次確認,存在被攻擊的空間,有一定成功機率
Fabric
- 以模組化架構為基礎
- 適合商業用開發的區塊鏈平台
- 節點:
- 客戶(Client):終端使用者,建立交易並呼叫智能合約,向背書節點發送交易
- 背書(Endorser):所有背書節點一致性的通過共識機制,對交易提供背書
- 訂購(Orderer):接收客戶節點收集的背書交易,確認順序後於通道(Channel)廣播
- 對等(Peer):接收訂購節點的訊息,向帳本提交交易
- 共識機制 智能合約:BFT演算法、多種共識機制
Corda
- 基於公開金鑰基礎建設(Public Key Infrastructure, PKI)
- 節點:
- 公證(Notary):共識機制的驗證
- 預報(Oracle):共享外部資料,例如外幣匯率
- 共識機制:
- 交易合法性(validity):檢查所有數位簽章
- 交易唯一性(Uniqueness):檢驗輸入狀態(State)僅存在唯一的交易
- 智能法律合約(Smart Legal Conracts):
- 法律行文(Legal Prose):支援 Ricardian Contract 法律合同文件結構
三種不同框架的設計理念不大相同。
- 以太坊:可用於開發不同數字資產,主要還是特定在數位貨幣相關應用領域
- Fabric:旨在提供一個模組化、可擴充的架構,可適用於不同應用領域
- Corda:主要適用於金融服務業
平台 |
以太坊 |
Fabric |
Corda |
描述 |
|
模組化 |
適用金融行業 |
主要開發 |
以太坊開發者 |
LinuxFoundation |
R3 |
運行模式 |
Public,Private |
Private,Permission |
Private,Permission |
共識 |
PoW,PoS |
支援多種方法 |
公證(Notary)節點 |
智能合約 |
Solidity |
Go,Java |
Kotlin,Java |